HAL EXTI configuration functions

This section provides information about the HAL EXTI configuration and line attributes management functions.

HAL EXTI set configurations

HAL1

HAL2

HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti,
                                         EXTI_ConfigTypeDef *pExtiConfig)
hal_status_t HAL_EXTI_SetConfig(hal_exti_handle_t *hexti,
                                const hal_exti_config_t *p_exti_config)

HAL EXTI get configurations

HAL1

HAL2

HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti,
                                         EXTI_ConfigTypeDef *pExtiConfig)
void HAL_EXTI_GetConfig(const hal_exti_handle_t *hexti,
                        hal_exti_config_t *p_exti_config)

HAL EXTI register callback

HAL1

HAL2

HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti,
                                            EXTI_CallbackIDTypeDef CallbackID,
                                            void (*pPendingCbfn)(void))
hal_status_t HAL_EXTI_RegisterTriggerCallback(hal_exti_handle_t *hexti,
                                              hal_exti_cb_t p_exti_cb)

HAL EXTI clear configuration line

HAL1

HAL2

HAL_EXTI_ClearConfigLine(const EXTI_HandleTypeDef *hexti)
Removed from HAL2(use HAL_EXTI_DeInit() instead)

HAL EXTI get handle

HAL1

HAL2

HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
Removed from HAL2(use HAL_EXTI_Init() and HAL_EXTI_SetConfig() instead)

HAL EXTI configure line attributes

In HAL1, the line attributes configuration is done using HAL_EXTI_ConfigLineAttributes function. Whereas in HAL2, the function is split into two separate functions to set security and privilege attributes.

HAL1

HAL2


void HAL_EXTI_ConfigLineAttributes(uint32_t ExtiLine,
                                   uint32_t LineAttributes);
hal_status_t HAL_EXTI_SetSecAttr(hal_exti_line_t exti_line,
                                 hal_exti_sec_attr_t sec_attr);
hal_status_t HAL_EXTI_SetPrivAttr(hal_exti_line_t exti_line,
                                  hal_exti_priv_attr_t priv_attr);

HAL EXTI get line attributes configuration

In HAL1, the line attributes get configuration is done using HAL_EXTI_GetConfigLineAttributes function. Whereas in HAL2, the function is split into two separate functions to get security and privilege attributes.

HAL1

HAL2

HAL_StatusTypeDef HAL_EXTI_GetConfigLineAttributes(uint32_t ExtiLine,
                                           uint32_t *pLineAttributes);
hal_exti_sec_attr_t HAL_EXTI_GetSecAttr(hal_exti_line_t exti_line);
hal_exti_priv_attr_t HAL_EXTI_GetPrivAttr(hal_exti_line_t exti_line);

HAL EXTI secure and privilege configurations lock

HAL1

HAL2

HAL_StatusTypeDef HAL_EXTI_LockConfigAttributes(void);
/* or */
void HAL_EXTI_LockAttributes(void);

hal_status_t HAL_EXTI_LockAttr(void);

HAL EXTI get secure and privilege configuration lock status

HAL1

HAL2

HAL_StatusTypeDef HAL_EXTI_GetLockConfigAttributes(uint32_t *const pLockState);
/* or */
uint32_t HAL_EXTI_GetLockAttributes(void);

hal_exti_attr_lock_status_t HAL_EXTI_IsLockedAttr(void);